from typing import Literal

from .anthropic import anthropic
from .azure import azure
from .cerebras import cerebras
from .deepseek import deepseek
from .dispatch import find_llm
from .google import google
from .groq import groq
from .minimax import minimax
from .openai import openai
from .openrouter import openrouter
from .qwen import qwen
from .sambanova import sambanova
from .siliconflow import siliconflow
from .xai import xai
from .yi import yi
from .zai import zai

Model = Literal[
    "gpt-3.5-turbo",
    "gpt-3.5-turbo-0301",
    "gpt-3.5-turbo-0613",
    "gpt-3.5-turbo-1106",
    "gpt-3.5-turbo-0125",
    "gpt-4.1",
    "gpt-4.1-2025-04-14",
    "gpt-4.1-mini",
    "gpt-4.1-mini-2025-04-14",
    "gpt-4.1-nano",
    "gpt-4.1-nano-2025-04-14",
    "gpt-5",
    "gpt-5-mini",
    "gpt-5-nano",
    "o4-mini",
    "o4-mini-2025-04-16",
    "o3",
    "o3-2025-04-16",
    "o3-mini",
    "o3-mini-2025-01-31",
    "o1",
    "o1-2024-12-17",
    "o1-mini",
    "o1-mini-2024-09-12",
    "gpt-4o-mini",
    "gpt-4o-mini-2024-07-18",
    "gpt-4o",
    "gpt-4o-2024-05-13",
    "gpt-4o-2024-08-06",
    "gpt-4o-2024-11-20",
    "gpt-4-1106-preview",
    "gpt-4-0125-preview",
    "gpt-4-turbo",
    "gpt-4-turbo-2024-04-09",
    "azure:gpt-4o",
    "azure:gpt-4o-mini",
    "azure:gpt-4.1",
    "azure:gpt-4.1-mini",
    "azure:gpt-4.1-nano",
    "azure:gpt-5",
    "azure:gpt-5-mini",
    "azure:gpt-5-nano",
    "azure:gpt-5-chat",
    "azure:o1",
    "azure:o3",
    "azure:o1-mini",
    "azure:o3-mini",
    "azure:o4-mini",
    "azure:o1-preview",
    "Mistral-Nemo",
    "Mistral-large",
    "Mistral-large-2407",
    "Mistral-large-2411",
    "Mistral-small",
    "Mistral-small-2503",
    "Mistral-medium-2505",
    "Codestral-2501",
    "Ministral-3B",
    "Meta-Llama-3.1-405B-Instruct",
    "Meta-Llama-3.1-70B-Instruct",
    "Meta-Llama-3.1-8B-Instruct",
    "Meta-Llama-3-70B-Instruct",
    "Meta-Llama-3-8B-Instruct",
    "Cohere-command-r-plus",
    "Cohere-command-r-plus-08-2024",
    "Cohere-command-r",
    "Cohere-command-r-08-2024",
    "Cohere-command-a",
    "AI21-Jamba-1.5-Large",
    "AI21-Jamba-1.5-Mini",
    "Phi-4",
    "Phi-3.5-MoE-instruct",
    "Phi-3.5-mini-instruct",
    "Phi-3-medium-128k-instruct",
    "Phi-3-medium-4k-instruct",
    "Phi-3-mini-128k-instruct",
    "Phi-3-mini-4k-instruct",
    "Phi-3-small-128k-instruct",
    "Phi-3-small-8k-instruct",
    "MAI-DS-R1",
    "DeepSeek-R1",
    "DeepSeek-V3",
    "Grok-3",
    "Grok-3-Mini",
    "glm-4.5",
    "glm-4.5-air",
    "glm-4.5-flash",
    "glm-4.5v",
    "claude-instant-1.2",
    "claude-2.1",
    "claude-3-opus-20240229",
    "claude-3-sonnet-20240229",
    "claude-3-haiku-20240307",
    "llama-3.1-8b-instant",
    "llama-3.3-70b-versatile",
    "meta-llama/llama-4-scout-17b-16e-instruct",
    "meta-llama/llama-4-maverick-17b-128e-instruct",
    "moonshotai/kimi-k2-instruct-0905",
    "llama3.1-8b",
    "llama-3.3-70b",
    "llama-4-scout-17b-16e-instruct",
    "llama-4-maverick-17b-128e-instruct",
    "qwen-3-32b",
    "qwen-3-235b-a22b-instruct-2507",
    "zai-glm-4.6",
    "gpt-oss-120b",
    "qwen-turbo",
    "qwen-plus",
    "qwen-max",
    "abab5.5s-chat",
    "abab5.5-chat",
    "abab6-chat",
    "MiniMax-M1",
    "MiniMax-M2",
    "Qwen/QwQ-32B",
    "Qwen/Qwen2.5-Coder-7B-Instruct",
    "Qwen/Qwen2.5-7B-Instruct",
    "Qwen/Qwen2.5-14B-Instruct",
    "Qwen/Qwen2.5-32B-Instruct",
    "Qwen/Qwen2.5-72B-Instruct",
    "Qwen/Qwen2.5-72B-Instruct-128K",
    "Qwen/Qwen3-8B",
    "Qwen/Qwen3-14B",
    "Qwen/Qwen3-32B",
    "Qwen/Qwen3-30B-A3B",
    "Qwen/Qwen3-235B-A22B",
    "THUDM/GLM-Z1-32B-0414",
    "THUDM/GLM-Z1-9B-0414",
    "THUDM/GLM-4-32B-0414",
    "THUDM/GLM-4-9B-0414",
    "THUDM/glm-4-9b-chat",
    "THUDM/chatglm3-6b",
    "deepseek-ai/DeepSeek-V2.5",
    "deepseek-ai/DeepSeek-V3",
    "deepseek-ai/DeepSeek-R1",
    "deepseek-ai/DeepSeek-R1-Distill-Qwen-7B",
    "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
    "deepseek-ai/DeepSeek-R1-Distill-Qwen-32B",
    "deepseek-ai/DeepSeek-V3.2-Exp",
    "internlm/internlm2_5-7b-chat",
    "yi-lightning",
    "grok-3-beta",
    "grok-3-mini-beta",
    "grok-4",
    "grok-code-fast-1",
    "grok-4.1-fast-reasoning",
    "grok-4.1-fast-non-reasoning",
    "Qwen3-32B",
    "Meta-Llama-3.3-70B-Instruct",
    "Llama-4-Maverick-17B-128E-Instruct",
    "DeepSeek-V3.1",
    "DeepSeek-V3.1-Terminus",
    "DeepSeek-V3-0324",
    "DeepSeek-R1-0528",
    "DeepSeek-R1-Distill-Llama-70B",
    "deepseek-chat",
    "deepseek-reasoner",
    "gemma-3-27b-it",
    "gemini-2.0-flash",
    "gemini-2.0-flash-lite",
    "gemini-2.0-flash-thinking-exp",
    "gemini-2.5-flash",
    "gemini-2.5-flash-lite",
    "gemini-2.5-pro",
    "microsoft/mai-ds-r1:free",
    "deepseek/deepseek-r1-0528:free",
    "deepseek/deepseek-chat-v3-0324:free",
    "z-ai/glm-4.5-air:free",
    "qwen/qwen3-coder:free",
    "kwaipilot/kat-coder-pro:free",
    "alibaba/tongyi-deepresearch-30b-a3b:free",
    "meituan/longcat-flash-chat:free",
    "allenai/olmo-3-32b-think:free",
    "arcee-ai/trinity-mini:free",
    "tngtech/tng-r1t-chimera:free",
    "amazon/nova-2-lite-v1:free",
    "openrouter/bert-nebulon-alpha",
]
